package com.itheima;

import java.util.Scanner;

public class Text {
    public static void main1(String[] args) {
        System.out.println("项目搭建完成");
        System.out.println(66667);
        System.out.println(7778);
        System.out.println("落叶红枫");
        System.out.println("你是傻逼的儿子");
        System.out.println("...");
        System.out.println("落红不是无情物");
        System.out.println("你们好啊");
        System.out.println("王绍彭真帅！！！");
    }

    public static void main(String[] args) {
        //从控制台获取行数
        Scanner s = new Scanner(System.in);
        int row = s.nextInt();
//根据行数定义好二维数组，由于每一行的元素个数不同，所以不定义每一行的个数
        int[][] arr = new int[row][];
//遍历二维数组，二维数组控制行数
        for(int i = 0; i < row; i++){
            //初始化每一行的一维数组，当i=0时，一维数组会报索引越界。
            //使得每一行比上一行多出一个长度,最终呈现出三角形。
            arr[i] = new int[i + 1];
            //遍历这个一维数组，添加元素
            for(int j = 0; j <= i; j++){
                //每一行的开头和结尾元素为1，开头的时候，j=0，结尾的时候，j=i
                if(j == 0 || j == i){
                    arr[i][j] = 1;
                } else {
                    //上一行同列和前一列两个数之和
                    arr[i][j] = arr[i -1][j] + arr[i - 1][j - 1];
                }
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println();
        }
/**
 特点：
 各行的第一个数都是1
 各行的最后一个数都是1
 从第3行起，除上面指出的第一个数和最后一个数外，其余各数是上一行同列和前一列两个数之和。可以表示为：a[ i ][ j ] = a[ i-1 ][ j ] + a[ i-1 ][ j-1 ]
 */
    }

}
